Upgrade from the operator
It is good practice to keep the operator up to date with the latest releases to anticipate for any future component upgrades. As there is no immediate impact on the deployed stacks when upgrading the operator, it is advised to simply ensure the operator is running the latest version most of the time.
You can download the latest version of Formance directly from our github repo.
helm upgrade regions oci://ghcr.io/formancehq/helm/regions \
--version LATEST_RELEASE \
--namespace formance-system
Once the upgrade is complete, you can verify the operator is running the latest version with the usual kubectl
commands:
kubectl -n formance-system describe deployments operator
Components upgrade
The upgrade process is managed by the operator, who will upgrade the components one by one, as specified in the versions
CRD. Any migration that needs to be carried out will also be managed by the operator.
When the Operator is upgraded to the latest version, the patch versions will be automatically applied to all the stacks managed by the Operator.
If you wish to change the Minor or Major version, you need to modify your Stack object and specify the new version. The version is represented by the versionFromFile
object.
kubectl edit stack stack1
Do not update the versions CRD unless you are ready to upgrade your deployment.
Once updated, the operator will start the upgrade process. You can follow the process in the status
section of the stack
CRD. The status will be updated in real time, and will indicate the health status of the various services, such as whether they are healthy
or not.
For each component, a rolling upgrade will be performed, meaning that the component will be upgraded one by one, and the service will be kept running during the upgrade process.
Note that the rollout process is managed by Kubernetes, and as such, the operator has no control over it. As a result, the upgrade process may be interrupted by Kubernetes, and a service may be unavailable for a short period of time.
Updating from Operator v1 to Operator v2
If you wish to update the operator from version 1 to version 2, we have managed the major steps of the migration for you. Thus, the Configuration CRD from v1 will be migrated to the Settings CRD of v2, and the same will happen for the Versions CRD.
All the Stack CRDs will also be split and migrated to the different Module CRDs of v2.
However, it is important to note that the Stack CRDs from v1 will not be deleted, and the Operator will replicate each change to the v2 objects. Therefore, after the migration, you will have both v1 and v2 objects in your cluster. We recommend deleting the v1 objects once you are sure that the migration went smoothly.
To migrate the operator from version 1 to version 2, you simply need to update the operator with the following command:
helm upgrade regions oci://ghcr.io/formancehq/helm/regions \
--version LATEST_RELEASE \
--namespace formance-system
As soon as Operator v2 starts, it will begin migrating v1 objects to v2 objects, then create the new associated resources. All steps have been designed to be carried out without any service interruption. However, we recommend performing this update in Staging before doing it in Production.
If you encounter any issues, do not hesitate to contact us. We will be happy to help you with the migration process.